European Patent Publication No. 32193 (IBM Corporation) describes a system in which each user and retailer has a cryptographic key number--retailer's key Kr and user's key Kp--which is stored together with the user's account number and retailer's business number in a data store at the host central processing unit (cpu). The retailer's key and the user key are used in the encryption of data sent between the retailer's transaction terminal and the host cpu. Obviously only users or customers with their identity numbers and encryption keys stored at the host cpu can make use of the system. As the number of users expands there is an optimum number beyond which the time taken to look up corresponding keys and identity numbers is unacceptable for on-line transaction processing.
The system described is only a single domain and does not involve using a personal identification number (PIN). Verification of the user's identity is at the host and without a PIN there is no bar to users using stolen cards for transactions.
European Patent Publication No. 18129 (Motorola Inc.) describes a method of providing security of data on a communication path. Privacy and security of a dial-up data communications network are provided by means of either a user or terminal identification code together with a primary cipher key. A list of valid identification codes and primary cipher code pairs is maintained at the central processing unit. Identification code and cipher key pairs, sent to the cpu are compared with the stored code pairs. A correct comparison is required before the cpu will accept encoded data sent from the terminal. All data sent over the network is ciphered to prevent unauthorised access using the the relevant user or terminal key.
The system described is a single domain in which all terminal keys (or user keys) must be known at a central host location. Hence, the ideas described in the patent do not address a multi-host environment and thus are not addressing the interchange problem either.
UK Patent Application No. 2,052,513A (Atalla Technovations) describes a method and apparatus which avoids the need for transmitting user-identification information such as a personal identification number (PIN) in the clear from station to station in a network such as described in the two European Patent Publications mentioned above. The PIN is encoded using a randomly generated number at a user station and the encoded PIN and the random number are sent to the processing station. At the processing station a second PIN having generic application is encoded using the received random number and the received encoded PIN and the generic encoded PIN are compared to determine whether the received PIN is valid.
This system does not use a personal key and as a consequence for a sufficiently cryptographically secure system, it is necessary to have a PIN with at least fourteen random characters (four bits each). This is a disadvantage from the human factor point of view as users will have difficulty remembering such a long string of characters and the chances of inputting unintentionally an incorrect string is very large. If a phrase, which a user can easily remember, is employed for a PIN, about 28 characters are required. Although remembering the information is not a problem, inputting such a long string of data still presents a human factors problem.
The EFT system made possible by the systems described in the above patent applications is limited to a single host cpu holding the accounts of all users, both retailers and customers.
An EFT system in which many card issuing organisations (banks, credit card companies, etc.) are connected and many hundreds of retail organisations are connected through switching nodes such as telephone exchanges, brings many more security problems.
PCT publication No. Wo 81/02655 (Marvin Sendrow) describes a multihost, multi-user system in which the PIN is ciphered more than once at the entry terminal. The data required to validate and authorise the transactions is transmitted to a host computer which accesses from its stored data base the data that is required to decipher and validate the transaction, including the ciphered PIN. A secret terminal master key must be maintained at each terminal. A list of these master keys is also maintained at the host computer.
The maintaining of lists of terminal master keys at each of the card issuing organisation's host computers is obviously a difficult task, in a complex system where the terminal keys are not controlled and, therefore, not known by the card issuing host.
European Patent Publication No. 55580 (Honeywell Information Systems) seeks to avoid the necessity of transmitting PIN information in the network by performing PIN verification at the entry point terminal. This is achieved by issuing each user with a card that has encoded in the magnetic stripe the bank identification (BIN), the user's account number (ACCN) and a PIN offset number. The PIN offset is calculated from the PIN, BIN and ACCN. The user enters the PIN at a keyboard attached to the terminal, which also reads the PIN offset, BIN and ACCN from the card. The terminal then recalculates a PIN offset from the user's entered PIN, the BIN and ACCN. If the re-calculated PIN offset is the same as the PIN offset read from the card then verification of the PIN is assumed. This approach has the disadvantage in that the system is not involved in the validation and that knowing that the PIN offset is calculated from the PIN, the BIN and ACCN, anyone having knowledge of the process can manufacture fraudulent cards with valid PINS.
Advances in microcircuit chip technology has now led to the possibility that user cards instead of having user data stored on a magnetic stripe can contain a microprocessor with a read only store (ROS). The microprocessor is activated when the card is placed in an EFT terminal and the appropriate power and data transmission interface connections are made. The microprocessor on the card is controlled by control programs stored in the ROS. The users and issuers identification can also be stored in the ROS together with other information.
Examples of such cards including a microprocessor are shown in Kingdom patent applications Nos. 2,081,644A and 2,095,175A.
European patent application No. 82306989.3 (IBM) describes a method and apparatus for testing the validity of personal identification numbers (PIN) entered at a transaction terminal of an electronic funds transfer network in which the PIN is not directly transmitted through the network. The PIN and the personal account number (PAN) are used to derive an authorisation parameter (DAP). A unique message is sent with the PAN to the host processor where the PAN is used to identify a valid authorisation parameter (VAP). The VAP is used to encode the message and the result (a message authentication code MAC) transmitted back to the transaction terminal. The terminal generates a parallel derived message authentication code (DMAC) by using the DAP to encode the message. The DMAC and MAC are compared and the result of the comparison used to determine the validity of the PIN.
In such a system the generation of DAP as well as VAP is based on a short PIN only and is therefore cryptographically weak. Furthermore, the EFT transaction terminal has access to all the information carried on the identity card which may be regarded as a security weakness in the system. The present invention seeks to overcome such deficiencies by storing personal key data in a portable personal processor carried on a card and only processing the key data on the card.
In any multi-domain communication network where such domain includes a data processor and in which cryptographically secure transmission takes place it is necessary to establish cross domain keys. A communication security system in which cross domain keys are generated and used is described in U.S. Pat. No. 4,227,253 (IBM). The patent describes a communication security system for data transmissions between different domains of a multiple domain communication network where each domain includes a host system and its associated resources of programs and communication terminals. The host systems and communication terminals include data security devices each having a master key which permits a variety of cryptographic operations to be performed. When a host system in one domain wishes to communicate with a host system in another domain, a common session key is established at both host systems to permit cryptographic operations to be performed. This is accomplished by using a mutually agreed upon cross-domain key known by both host systems and does not require each host system to reveal its master key to the other host system. The cross domain key is enciphered under a key encrypting key at the sending host system and under a different key encrypting key at the receiving host system. The sending host system creates an enciphered session key and together with the sending cross-domain key performs a transformation function to re-encipher the session key under the cross domain key for transmission to the receiving host system. At the receiving host system, the receiving host system using the cross domain key and received session key, performs a transformation function to re-encipher the received session key from encipherment under the cross domain key to encipherment under the receiving host system key. With the common session key now available in usable form at both host systems, a communication session is established and cryptographic operations can proceed between the two host systems.
Reference to the following publications are included as giving general background information in encryption techniques and terminology:
1. IBM Technical Disclosure Bulletin, Vol. 19, No. 11, April 1977, p. 4241, "Terminal Master Key Security" by S. M. Matyas and C. H. Meyer. PA0 2. IBM Technical Data Bulletin, Vol. 24, No. 1B, June 1981, pp. 561-565, "Application for Personal Key Crypto With Insecure Terminals" by R. E. Lennon, S. M. Matyas, C. H. Meyer and R. E. Shuck; PA0 3. IBM Technical Data Bulletin, Vol. 24, No. 7B, December 1981, pp. 3906-3909, "Pin Protection/Verification For Electronic Funds Transfer" by R. E. Lennon, S. M. Matyas and C. H. Meyer; PA0 4. IBM Technical Disclosure Bulletin, Vol. 24, No. 12, May 1982, pp. 6504-6509, "Personal Verification and Message Authentication Using Personal Keys" by R. E. Lennon, S. M. Matyas and C. H. Meyer; PA0 5. IBM Technical Disclosure Bulletin, Vol. 25, No. 5, October 1982, pp. 2358-2360, "Authentication With Stored KP and Dynamic PAC" by R. E. Lennon, S. M. Matyas and C. H. Meyer; PA0 1. transmitting the PAN from the card through the terminal to the data processing centre, PA0 2. generating at the data processing centre by a one way encipher function at a transaction variant authentication parameter (TAP) directly dependent upon the PIN and the KP, PA0 3. transmitting the TAP to the terminal and storing the TAP at the terminal, PA0 4. receiving from the card user the PIN at the terminal and transmitting the PIN to the card, PA0 5. generating at the card a transaction variant authentication parameter (TAPc) directly dependent upon the entered PIN and the stored KP, PA0 6. transmitting the TAPc from the card to the terminal and at the terminal comparing the TAP received from the data processing centre with the TAPc received from the card, a correct comparison indicating that the entered PIN was valid.